home *** CD-ROM | disk | FTP | other *** search
/ Nautilus 1992 July / Nautilus-3-8 / Nautilus-3-8.bin / Tools & Utilities / Techy Stuff / Doco ƒ / CSMP ƒ / CSMP-V1-084.TXT < prev    next >
Encoding:
Text File  |  1992-06-30  |  44.5 KB  |  1,121 lines

  1. C.S.M.P. Digest             Sun, 17 May 92       Volume 1 : Issue 84
  2.  
  3. Today's Topics:
  4.  
  5.     Error on High Density Floppies
  6.     Localization (was: ResEdit Easter Eggs)
  7.     Patching traps at INIT time under sys. 7
  8.     Two basic questions from an advanced programmer
  9.     Large pointer blocks
  10.     I need your opinion
  11.     Fancy Your Tickle...
  12.     QUESTION-Drawing Pict/Hide MenuBar??
  13.     GKS for Mac?  C bindings?
  14.     PATCHING THE FINDER (?)
  15.     d e v e l o p
  16.     Using "OpenStdCompression" with MPW QuickTime headers in THINK C
  17.  
  18.  
  19. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  20.  
  21. These digests are available (by using FTP, account anonymous, your email
  22. address as password) in the pub/mac/csmp-digest directory on ftp.cs.uoregon.
  23. edu.  This is also the home of the comp.sys.mac.programmer Frequently Asked
  24. Questions list.  The last several issues of the digest are available from
  25. sumex-aim.stanford.edu as well.
  26.  
  27. These digests are also available via email.  Just send a note saying that you
  28. want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
  29. automatically receive each new digest as it is created.
  30.  
  31. The digest is a collection of articles from the internet newsgroup comp.sys.
  32. mac.programmer.  It is designed for people who read c.s.m.p. semi-regularly
  33. and want an archive of the discussions.  If you don't know what a newsgroup
  34. is, you probably don't have access to it.  Ask your systems administrator(s)
  35. for details.  (This means you can't post questions to the digest.)
  36.  
  37. The articles in these digests are taken directly from comp.sys.mac.programmer.
  38. They are not edited; all articles included in this digest are in their original
  39. posted form.  The only articles that are -not- included in these digests are
  40. those which didn't receive any replies (except those that give information
  41. rather than ask a question).  All replies to each article are concatenated
  42. onto the original article in the order in which they were received.  Article
  43. threads are not added to the digests until the last article added to the
  44. thread is at least one month old (this is to ensure that the thread is dead
  45. before adding it to the digests).
  46.  
  47. Send administrative mail to mkelly@cs.uoregon.edu.
  48.  
  49. -------------------------------------------------------
  50.  
  51. From: pmcilroy@srd.bt.co.uk (Paul McIlroy)
  52. Subject: Error on High Density Floppies
  53. Date: 13 Apr 92 22:41:38 GMT
  54. Organization: British Telecom
  55.  
  56. We have a number of high density floppy disks (MFM format) which were 
  57. written over a year ago using a MacIIci.  They were kept in a drawer 
  58. sharing a box with some 800k floppies.  The 800k floppies are still 
  59. fine, but the high density disks are now all unreadable.  Attempts to 
  60. mount them returns ERROR -400 gcrOnMFMErr (gcr format on high density 
  61. media error).  I do not believe that there is a hardware error on the 
  62. IIci, since newly formatted MFM disks which it writes can be read by 
  63. other Macs without problem.  We have been unable to fix these disks 
  64. with either MacTools Rescue (version 1.1) or Norton Utilities.  Has 
  65. anybody else had similar problems with high density floppies ? And 
  66. does anybody know of any way to rescue disks from gcrOnMFMErr ?
  67.  
  68. Paul McIlroy (pmcilroy@srd.bt.co.uk)
  69.  
  70. +++++++++++++++++++++++++++
  71.  
  72. From: stevec@Apple.COM (Steve Christensen)
  73. Date: 16 Apr 92 02:03:27 GMT
  74. Organization: Apple Computer Inc., Cupertino, CA
  75.  
  76. pmcilroy@srd.bt.co.uk (Paul McIlroy) writes:
  77.  
  78. >We have a number of high density floppy disks (MFM format) which were 
  79. >written over a year ago using a MacIIci.  They were kept in a drawer 
  80. >sharing a box with some 800k floppies.  The 800k floppies are still 
  81. >fine, but the high density disks are now all unreadable.  Attempts to 
  82. >mount them returns ERROR -400 gcrOnMFMErr (gcr format on high density 
  83. >media error).  I do not believe that there is a hardware error on the 
  84. >IIci, since newly formatted MFM disks which it writes can be read by 
  85. >other Macs without problem.  We have been unable to fix these disks 
  86. >with either MacTools Rescue (version 1.1) or Norton Utilities.  Has 
  87. >anybody else had similar problems with high density floppies ? And 
  88. >does anybody know of any way to rescue disks from gcrOnMFMErr ?
  89.  
  90. gcrOnMFMErr means that the high density disk _looks_ like it was initialized
  91. using one of the 800K disk drives (i.e., pre-Mac IIx).  An easy way to see
  92. if this is really the case is to put some tape over the extra hole in the
  93. disk shell, stick it into the drive and see if it shows up on the desktop.
  94. If it does, perhaps someone has been playing around with the disks in your
  95. drawers...
  96.  
  97. If this is indeed what happened, you may find you need a bulk eraser (or a
  98. strong magnet) to properly erase the HD disks before you use them again.
  99. The old 800K drives generate a stronger field on the read/write head, so the
  100. data is imbedded deeper in the media than on the SuperDrives.  Your luck may
  101. vary on this.
  102.  
  103. If the disk doesn't show up on the desktop and Norton can't deal with it,
  104. then I'm not sure what the problem might be.
  105.  
  106. steve
  107.  
  108. - -- 
  109. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  110.   Steve Christensen            Never hit a man with glasses.
  111.   stevec@apple.com            Hit him with a baseball bat.
  112.  
  113. ---------------------------
  114.  
  115. From: delliott@cec2.wustl.edu (Dave Elliott)
  116. Subject: Localization (was: ResEdit Easter Eggs)
  117. Organization: Washington University, St. Louis Mo.
  118. Date: Thu, 2 Apr 1992 07:06:30 GMT
  119.  
  120. If you have the "20,000 Leagues Under the CD" CD-ROM from the Spring
  121. Develop magazine, and know a little Chinese, look at ChineseTalk II
  122. in International Software. There is a localization system here which
  123. is really slick. You first install a normal System 7.0x. Then install 
  124. the extension ScriptT which implements ChineseTalk, and the folders
  125. (especially the ScriptT Folder for fonts, and the Localization Folder)
  126. that go in your System Folder. Now, for each of your utilities [and if
  127. you can read Chinese] the Localization Editor (with the clown-face icon)
  128. will, for *each* of your applications, such as MacWrite II etc., 
  129. install the Chinese resources into the *Localization Folder* where the
  130. system software can find them... and you have the option, by using
  131. Option-Z at startup, of putting them to sleep or (Option-K) killing them.
  132. That gets you back to a US system with no pain.
  133. If the experts in Taiwan and at Apple who produced this want to work on
  134. other country localizations, really global Macs will result!
  135.  
  136.     If you are seriously concerned with localization--
  137. even if you don't read Chinese, ask a friend who does to look at this 
  138. with you, especially if you have a spare partition or external hard disk
  139. to install on. I doubt a floppy would suffice.
  140.  
  141.  
  142.                                 David L. Elliott
  143.                 Dept. of Systems Science and Mathematics
  144.                                 Washington University, St. Louis, MO 63130
  145.                 delliott@CEC2.WUSTL.EDU
  146.  
  147. +++++++++++++++++++++++++++
  148.  
  149. From: gourdol@imag.fr (Arno Gourdol)
  150. Date: 4 Apr 92 17:06:03 GMT
  151. Organization: IMAG Institute, University of Grenoble, France
  152.  
  153. [How you can make a chinese system by starting with a US system
  154. and adding 'localization' resources in the system]
  155. >If the experts in Taiwan and at Apple who produced this want to work on
  156. >other country localizations, really global Macs will result!
  157.  
  158. It is rumored (or, if it wasn't now it is) that System 7.1 due in
  159. September will contain this 'feature' for every languages.
  160. That is, instead of localizing say, a french version of the system,
  161. you will use a 'standard' System 7 with added 'french' resources.
  162. This way, you should be able to use multi-lingual systems,
  163. for example french, english, japanese and arabic. Isn't life fun :-)
  164.  
  165. Arno.
  166.  
  167. - -- 
  168. Arno Gourdol.  <Gourdol@imag.fr>
  169. Minds, like parachutes, only function when open.
  170.  
  171. +++++++++++++++++++++++++++
  172.  
  173. From: John_Jenkins@taligent.com (John H. Jenkins)
  174. Date: 6 Apr 92 15:30:17 GMT
  175. Organization: Taligent, Inc.
  176.  
  177. In article <32999@imag.imag.fr>, gourdol@imag.fr (Arno Gourdol) writes:
  178. > [How you can make a chinese system by starting with a US system
  179. > and adding 'localization' resources in the system]
  180. > >If the experts in Taiwan and at Apple who produced this want to work on
  181. > >other country localizations, really global Macs will result!
  182. > It is rumored (or, if it wasn't now it is) that System 7.1 due in
  183. > September will contain this 'feature' for every languages.
  184. > That is, instead of localizing say, a french version of the system,
  185. > you will use a 'standard' System 7 with added 'french' resources.
  186. > This way, you should be able to use multi-lingual systems,
  187. > for example french, english, japanese and arabic. Isn't life fun :-)
  188. > Arno.
  189.  
  190.  
  191. Actually, System 7.0 already has this capacity.  By just dropping a bunch
  192. of stuff into my system folder, I added the ability to handle Hebrew in
  193. addition to English, for example -- at least in programs that use the
  194. Script Manager correctly :-(
  195.  
  196. System 7.1 will make it possible to do this for the two-byte systems
  197. (both Chineses, Japanese, and Korean) in addition to the one-byte ones.
  198.  
  199. John H. Jenkins
  200. John_Jenkins@taligent.com
  201.  
  202. +++++++++++++++++++++++++++
  203.  
  204. From: John_Jenkins@taligent.com (John H. Jenkins)
  205. Date: 6 Apr 92 15:30:17 GMT
  206. Organization: Taligent, Inc.
  207.  
  208. In article <32999@imag.imag.fr>, gourdol@imag.fr (Arno Gourdol) writes:
  209. > [How you can make a chinese system by starting with a US system
  210. > and adding 'localization' resources in the system]
  211. > >If the experts in Taiwan and at Apple who produced this want to work on
  212. > >other country localizations, really global Macs will result!
  213. > It is rumored (or, if it wasn't now it is) that System 7.1 due in
  214. > September will contain this 'feature' for every languages.
  215. > That is, instead of localizing say, a french version of the system,
  216. > you will use a 'standard' System 7 with added 'french' resources.
  217. > This way, you should be able to use multi-lingual systems,
  218. > for example french, english, japanese and arabic. Isn't life fun :-)
  219. > Arno.
  220.  
  221.  
  222. Actually, System 7.0 already has this capacity.  By just dropping a bunch
  223. of stuff into my system folder, I added the ability to handle Hebrew in
  224. addition to English, for example -- at least in programs that use the
  225. Script Manager correctly :-(
  226.  
  227. System 7.1 will make it possible to do this for the two-byte systems
  228. (both Chineses, Japanese, and Korean) in addition to the one-byte ones.
  229.  
  230. John H. Jenkins
  231. John_Jenkins@taligent.com
  232.  
  233. +++++++++++++++++++++++++++
  234.  
  235. From: grstate@crocus.waterloo.edu (Gavriel State)
  236. Date: 15 Apr 92 20:05:58 GMT
  237. Organization: University of Waterloo
  238.  
  239. In article <64895@apple.Apple.COM> John_Jenkins@taligent.com (John H. Jenkins) writes:
  240. >Actually, System 7.0 already has this capacity.  By just dropping a bunch
  241. >of stuff into my system folder, I added the ability to handle Hebrew in
  242. >addition to English, for example -- at least in programs that use the
  243. >Script Manager correctly :-(
  244.  
  245. Hmmm.  Looking at IM-VI's script manager chapter, one of the screen shots 
  246. clearly shows the script menu pulled down with multiple languages (Hebrew, 
  247. Japaneese, etc.) available.  Thing is, the last developer CD I saw didn't 
  248. have the 7.0-compatable Hebrew (or Arabic or any non-latin language) 
  249. resources.  I tried for almost a day to hack the 6.0.8 Hebrew resources 
  250. into a usable form but to no avail.  Is this stuff ready on the latest 
  251. Developer CD?  The one I had was the december '91 issue.....
  252.  
  253.  
  254. - -- 
  255. Gavriel State | 2A Systems Design Engineering/Economics | University of Waterloo
  256. grstate@crocus.uwaterloo.ca (School)  |  "What in God's name is going on?"
  257. grstate@vader.ocunix.on.ca (> Apr 17) |   "FOUL!  No rhetoric!  Two-one!"
  258. (519)746-2215 (Waterloo)              | Rosencrantz and Guildenstern are Dead
  259.  
  260. ---------------------------
  261.  
  262. From: haceaton@aplcomm.jhuapl.edu (haceaton@aplcomm.jhuapl.edu)
  263. Subject: Patching traps at INIT time under sys. 7
  264. Date: 4 Apr 92 22:35:27 GMT
  265. Organization: Johns Hopkins University
  266.  
  267. I am trying to patch the trap _initwindows in an INIT.  It seems to work
  268. fine under system 6.0.x, but I have determined that when the finder loads
  269. under system 7 it seems to do a wholesale replacement of many trap addresses
  270. without linking to the existing patch code (i.e. those put in before the
  271. finder loaded)!  I haven't found anything in I.M VI that warns me about this
  272. either.  It seems like I must be missing something very fundamental here
  273. since all the other INITs that I have seem to be able to use _settrapaddress
  274. to successfully patch traps made after the finder loads.
  275.  
  276. Does anyone know what I'm doing wrong??  Please respond via E-mail
  277. to haceaton@aplcomm.jhuapl.edu
  278.  
  279. Thanks
  280.  
  281. Harry Eaton
  282.  
  283.  
  284.  
  285. - --
  286.  
  287. +++++++++++++++++++++++++++
  288.  
  289. From: nerm@apple.com (Dean Yu)
  290. Date: 10 Apr 92 17:17:02 GMT
  291. Organization: Apple Computer, Inc.
  292.  
  293. In article <1992Apr4.223527.3101@aplcen.apl.jhu.edu>, haceaton@aplcomm.jhuapl.edu (haceaton@aplcomm.jhuapl.edu) writes:
  294. > I am trying to patch the trap _initwindows in an INIT.  It seems to work
  295. > fine under system 6.0.x, but I have determined that when the finder loads
  296. > under system 7 it seems to do a wholesale replacement of many trap addresses
  297. > without linking to the existing patch code (i.e. those put in before the
  298. > finder loaded)!  I haven't found anything in I.M VI that warns me about this
  299. > either.  It seems like I must be missing something very fundamental here
  300. > since all the other INITs that I have seem to be able to use _settrapaddress
  301. > to successfully patch traps made after the finder loads.
  302. > Does anyone know what I'm doing wrong??  Please respond via E-mail
  303. > to haceaton@aplcomm.jhuapl.edu
  304.  
  305.   You're not doing anything wrong.  The Process Manager completely replaces
  306. _InitWindows with its own version when it starts up.  And you're right.  It
  307. doesn't call through to the old one.
  308.  
  309.   -- Dean Yu
  310.      Blue Meanie, Negative Ethnic Role Model, Window Cleaner,
  311.       Skanky Hack Consultant, etc.
  312.      Apple Computer, Inc.
  313.  
  314. +++++++++++++++++++++++++++
  315.  
  316. From: quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  317. Organization: The University of Western Australia
  318. Date: Mon, 13 Apr 1992 04:06:34 GMT
  319.  
  320. In article <22832@goofy.Apple.COM>, nerm@apple.com (Dean Yu) writes:
  321. > In article <1992Apr4.223527.3101@aplcen.apl.jhu.edu>, haceaton@aplcomm.jhuapl.edu (haceaton@aplcomm.jhuapl.edu) writes:
  322. > > 
  323. > > I am trying to patch the trap _initwindows in an INIT.  It seems to work
  324. > > fine under system 6.0.x, but I have determined that when the finder loads
  325. > > under system 7 it seems to do a wholesale replacement of many trap addresses
  326. > > without linking to the existing patch code (i.e. those put in before the
  327. > > finder loaded)!  I haven't found anything in I.M VI that warns me about this
  328. > > either.  It seems like I must be missing something very fundamental here
  329. > > since all the other INITs that I have seem to be able to use _settrapaddress
  330. > > to successfully patch traps made after the finder loads.
  331. >   You're not doing anything wrong.  The Process Manager completely replaces
  332. > _InitWindows with its own version when it starts up.  And you're right.  It
  333. > doesn't call through to the old one.
  334.  
  335. Yeah, it does the same with the _Launch trap.  My hackaround was to patch
  336. _SetTrapAddress and watch while it patches _Launch and then repatch _Launch.
  337. Very very very very very evil and yukky and horrible and full of compatibility
  338. probelms (but it worked and it wasn't in a shipping product).
  339.  
  340. Quinn "The Eskimo!"   <quinn@cs.uwa.edu.au>  "Real Coke, Diet .sig"
  341. Department of Computer Science, The University of Western Australia
  342.  
  343.  
  344. +++++++++++++++++++++++++++
  345.  
  346. From: the.cloud@applelink.apple.com (Ken McLeod)
  347. Date: 15 Apr 92 02:04:02 GMT
  348. Organization: Apple Computer, Inc.
  349.  
  350. In article <22832@goofy.Apple.COM>, nerm@apple.com (Dean Yu) writes:
  351. > In article <1992Apr4.223527.3101@aplcen.apl.jhu.edu>, haceaton@aplcomm.jhuapl.edu (haceaton@aplcomm.jhuapl.edu) writes:
  352. > > 
  353. > > I am trying to patch the trap _initwindows in an INIT.  It seems to work
  354. > > fine under system 6.0.x, but I have determined that when the finder loads
  355. > > under system 7 it seems to do a wholesale replacement of many trap addresses
  356. > > without linking to the existing patch code (i.e. those put in before the
  357. > > finder loaded)!
  358. >
  359. >   You're not doing anything wrong.  The Process Manager completely replaces
  360. > _InitWindows with its own version when it starts up.  And you're right.  It
  361. > doesn't call through to the old one.
  362.  
  363. A solution might be to patch SetTrapAddress, watch for attempts to change
  364. the address of the _InitWindows trap, then stuff that new address somewhere
  365. and JMP to it yourself at the end of your _InitWindows [head] patch.
  366.  
  367. - -ken
  368.  
  369. - --
  370. Ken McLeod
  371. Apple Computer, Inc.
  372. AppleLink: THE.CLOUD  Internet: the.cloud@applelink.apple.com
  373.  
  374. ---------------------------
  375.  
  376. From: scott@mcl.mcl.ucsb.edu (Scott Bronson)
  377. Subject: Two basic questions from an advanced programmer
  378. Date: 6 Apr 92 01:56:58 GMT
  379.  
  380. Here are two things that I've noticed that everyone implements differently.
  381. Is there any standard on when to use them and when not to?
  382.  
  383. (1) Some sample code that I've downloaded expressly checks DiskInserted
  384. events, then calls DIBadMount depending on the event.  Other code that
  385. I've seen totally ignores DiskInserted events.  If my application does
  386. nothing funny with disks other than opening, reading, and writing files,
  387. should I check for DiskInserted during my event loop, or is that redundant?
  388.  
  389. (2) I've implemented my own button.  However, it could take all of the
  390. processor's time for a long time if the user presses and holds the
  391. mouse button down on this button.  Some code that I've seen just eats
  392. up time in a tight loop with nothing in it until the mouse is released,
  393. some call SystemTask() and I'm sure some do something totally different.
  394. I don't want a background modem transfer to grind to a halt just because
  395. somebody pressed and held down the button in my app.
  396.  
  397. What should I do?
  398.  
  399.     - Scott
  400.  
  401. +++++++++++++++++++++++++++
  402.  
  403. From: REEKES@applelink.apple.com (Jim Reekes)
  404. Date: 10 Apr 92 20:14:27 GMT
  405. Organization: Apple Computer, Inc.
  406.  
  407. In article <scott.702525418@mcl>, scott@mcl.mcl.ucsb.edu (Scott Bronson) writes:
  408. > Here are two things that I've noticed that everyone implements differently.
  409. > Is there any standard on when to use them and when not to?
  410. > (1) Some sample code that I've downloaded expressly checks DiskInserted
  411. > events, then calls DIBadMount depending on the event.  Other code that
  412. > I've seen totally ignores DiskInserted events.  If my application does
  413. > nothing funny with disks other than opening, reading, and writing files,
  414. > should I check for DiskInserted during my event loop, or is that redundant?
  415. > (2) I've implemented my own button.  However, it could take all of the
  416. > processor's time for a long time if the user presses and holds the
  417. > mouse button down on this button.  Some code that I've seen just eats
  418. > up time in a tight loop with nothing in it until the mouse is released,
  419. > some call SystemTask() and I'm sure some do something totally different.
  420. > I don't want a background modem transfer to grind to a halt just because
  421. > somebody pressed and held down the button in my app.
  422. > What should I do?
  423. >     - Scott
  424.  
  425. All applications should be checking for diskInserted events.
  426.  
  427. While the mouse is held down, all non-interrupt tasks stop to track
  428. the mouse.  For example, while you drag a window or pop down a menu
  429. no other processing except for interrupts takes place.  It's a fundamental
  430. aspect of the Mac OS.  Some programmers feel they should try to give
  431. time to other tasks while they track the mouse.  Calling SystemTask
  432. will give some time to drivers that "needsTime".  For example, a Desk
  433. Accessory such as the clock will update the seconds during calls to
  434. SystemTask.  Serial Drivers on the other hand are interrupt driven,
  435. and are not using SystemTask for time.  The application will poll to
  436. get data but calling SystemTask will not give time to a background
  437. application.  So, a modem application will halt the input of serial data
  438. because it's using hand shaking.  You'd have to call WaitNextEvent
  439. to give the background applications time, but this is starting to get
  440. a bit complicated.
  441.  
  442. You're button isn't any different from the System's buttons (or WDEF,
  443. MDEF, MBDF, etc. for that matter).  The entire OS stops to track the
  444. mouse while in the down position.  I wouldn't worry about it.  Most
  445. user don't hold the mouse down for extended periods of time.  And if
  446. they do, they're not expecting something to be happening in the
  447. background.
  448.  
  449.  
  450. - -----------------------------------------------------------------------
  451. Jim Reekes, E.O.             |     Macintosh Toolbox Engineering
  452.                              |          Sound Manager Expert
  453. Apple Computer, Inc.         | "All opinions expressed are mine, and do
  454. 20525 Mariani Ave. MS: 81-KS |   not necessarily represent those of my
  455. Cupertino, CA 95014          |       employer, Apple Computer Inc."
  456.  
  457. +++++++++++++++++++++++++++
  458.  
  459. From: Jeremiah.Blatz@dartmouth.edu (Jeremiah Blatz)
  460. Date: 13 Apr 92 03:36:35 GMT
  461. Organization: Dartmouth College, Hanover, NH
  462.  
  463. Here're some basic answers from a begining programer.
  464.  
  465. > (1) Some sample code that I've downloaded expressly checks DiskInserted
  466. > events, then calls DIBadMount depending on the event.  Other code that
  467. > I've seen totally ignores DiskInserted events.  If my application does
  468. > nothing funny with disks other than opening, reading, and writing files,
  469. > should I check for DiskInserted during my event loop, or is that redundant?
  470.  
  471. I'm pretty sure that the Standard File Package handles all of this, but
  472. I don't have Inside Mac vol. IV, so I'm only sure it works for the 128
  473. and 512. The Standard File Package handles all drive access and returnd
  474. all the pertinent info to your app.
  475. As for (2):
  476.  
  477. >(2) I've implemented my own button.  However, it could take all of the
  478. >processor's time for a long time if the user presses and holds the
  479. >mouse button down on this button.  Some code that I've seen just eats
  480. >up time in a tight loop with nothing in it until the mouse is released,
  481. >some call SystemTask() and I'm sure some do something totally different.
  482. >I don't want a background modem transfer to grind to a halt just because
  483. >somebody pressed and held down the button in my app.
  484.  
  485. I'm pretty sure that if you "just eat up time in a tight loop" there
  486. won't be any background tasks, but I'm not sure. To be safe, I'd call
  487. SystemTask.
  488.  
  489. Hope this helps,
  490. Jeremiah Blatz
  491. JerBl@Dartmouth.edu
  492.  
  493. +++++++++++++++++++++++++++
  494.  
  495. From: scott@mcl.mcl.ucsb.edu (Scott Bronson)
  496. Date: 14 Apr 92 18:40:12 GMT
  497.  
  498. I got a few good answers for this post, so I'll summarize here:
  499. (I omitted names because no one expressly gave me permission to use
  500.  their quote here -- thanks to all of them, though).
  501.  
  502. Yes, your app does need to check for and respond to DiskInserted
  503. events, calling DIBadMount when needed.  I have some sample code
  504. that you can simply paste into your event loop to add this capability
  505. for all you who haven't yet.  It's actually really easy -- only about
  506. four lines or so.  You can also find sample code (and a lot of it!)
  507. in the book _Programming for System 7_ (part of the Macintosh Inside
  508. Out series published by Addison-Weseley), a book that I read and
  509. use a lot (and have no afilliation with).
  510.  
  511. And, as I feared, there are many ways to go about tracking the mouse.
  512. The easiest way is simply to call SystemTask inside your loop, but
  513. that's not the best way.  The way that makes the most sense to me
  514. is to simply keep running through your main event loop, tracking
  515. the mouseDown across calls to WNE.  I haven't tried this yet, and it
  516. sounds like it just adds more to an already overloaded main event
  517. loop.  It also sounds like it could make tracking the mouse button
  518. sluggish if there's a lot going on in the background and perhaps from
  519. a UI standpoint that's not good.  I'd rather have my computer appear
  520. sluggish than abort a transfer in the background for lack of processor
  521. time, though!
  522.  
  523.     - Scott
  524.  
  525. +++++++++++++++++++++++++++
  526.  
  527. From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy)
  528. Organization: Kalamazoo College
  529. Date: Tue, 14 Apr 1992 21:29:53 GMT
  530.  
  531. In article <scott.703276812@mcl> scott@mcl.mcl.ucsb.edu (Scott Bronson) writes:
  532. >
  533. >The way that makes the most sense to me
  534. >is to simply keep running through your main event loop, tracking
  535. >the mouseDown across calls to WNE.
  536. >I'd rather have my computer appear
  537. >sluggish than abort a transfer in the background for lack of processor
  538. >time, though!
  539.  
  540. I don't know of any programs that go to this extreme.  It makes sense if
  541. the user will have to drag something for a long time.  But the Finder
  542. doesn't even do this for file-dragging.
  543.  
  544. If you're really concerned, I hear there's an INIT that calls SystemTask
  545. or EventAvail or something during menu selection.  I'd have reservations
  546. about its compatibility, though.
  547.  
  548. And it's been my experience that file transfers can survive a lot.
  549. White Knight and ZTerm both handle ZModem quite well for ten or fifteen
  550. seconds without events (at 2400 baud).
  551. - -- 
  552.  Jamie McCarthy     Internet: k044477@kzoo.edu     AppleLink: j.mccarthy
  553.  Ceci n'est pas une .signature.
  554.  
  555. ---------------------------
  556.  
  557. From: kamprath@caen.engin.umich.edu (Michael F. Kamprath)
  558. Subject: Large pointer blocks
  559. Date: 7 Apr 92 01:50:35 GMT
  560. Organization: The University of Michigan, Ann Arbor
  561.  
  562. I've been writing several computational programs lately on the mac
  563. (in THINK C 4.0.5) and I've finally figured out (with some help) a 
  564. stable way to handle large arrays using pointers.  But now that
  565. my programs are stable, I would like to increase the array size 
  566. but I can't allocate pointers for memory blocks larger than about 
  567. 30K of RAM.  I think I read some where that this is a natural limitation
  568. in the Mac.  My question is, if my program heap is, for example, 2 Megs
  569. of RAM, my coding only taking up the first 50K of RAM, why
  570. can't I (or how can I) use the rest of the 1.95 Megs of RAM for arrays
  571. to be manipulated by the code?  If I am limited to 32K of usable array
  572. (or pointer) accesable memory, is there a clever way to circumvent this, 
  573. short of saving blocks of memory to a hard drive? 
  574.  
  575. I am using a IIci to do my programing on.  Does the new Quadra have this
  576. same memory limitation?  If so, how can Apple seriousely try to put it off as 
  577. a "powerful", "number crunching", "Atila the Hun" type of computer?  
  578.  
  579. I realize a Mac is slow when compared to DEC stations and the such, so it
  580. may not be my best choice for heavy number crunching.  But it is accesible
  581. and overnight runs are not impratical for me. If anybody could help me solve
  582. this memory problem, I'd really appreciate it.
  583.  
  584. Michael Kamprath
  585. kamprath@caen.engin.umich.edu
  586.  
  587. +++++++++++++++++++++++++++
  588.  
  589. From: d88-jwa@byse.nada.kth.se (Jon W{tte)
  590. Organization: Royal Institute of Technology, Stockholm, Sweden
  591. Date: Tue, 7 Apr 1992 20:57:44 GMT
  592.  
  593. .edu> kamprath@caen.engin.umich.edu (Michael F. Kamprath) writes:
  594.  
  595.    my programs are stable, I would like to increase the array size 
  596.    but I can't allocate pointers for memory blocks larger than about 
  597.    30K of RAM.  I think I read some where that this is a natural limitation
  598.  
  599. Only for statically allocated arrays. However, Think C malloc
  600. in version 4 takes an int for argument; you lose for > 32k.
  601. Use calloc instead ! It takes two 16-bit ints, which multiply
  602. correctly. You're probably already including stdlib.h, but
  603. check for that too :-)
  604.  
  605. NewPtr and NewHandle (built-in memory allocators in the mac)
  606. take long ints as parameters; they can allocate as much memory
  607. as you have RAM (or VM)
  608.  
  609.    I am using a IIci to do my programing on.  Does the new Quadra have this
  610.    same memory limitation?  If so, how can Apple seriousely try to put it
  611.    off as a "powerful", "number crunching", "Atila the Hun" type of computer?  
  612.  
  613. As you probably realize, it's a design limitation in the Think C 4
  614. compiler, not in the mac. Even the Mac 128 could allocate > 32k
  615. memory if you had that much free...
  616.  
  617. If you're going to program the mac seriously, you got to get the
  618. Inside Mac volumes (all six of them except volume III)
  619.  
  620.    I realize a Mac is slow when compared to DEC stations and the such, so it
  621.    may not be my best choice for heavy number crunching.  But it is accesible
  622.    and overnight runs are not impratical for me. If anybody could help me solve
  623.  
  624. Hey, a Quadra runs circles around a DecStation 3000s (?) and is
  625. quite comparable to various Sparcs. And even a PowerBook is much
  626. snappier in user response than anything running X windows...
  627.  
  628. Unless you run MacX on your PB using Remote Access of course :-)
  629.  
  630. - -- 
  631. h+@nada.kth.se; Jon W{tte, the Diplomat - NOT!
  632.  
  633. +++++++++++++++++++++++++++
  634.  
  635. From: sasdtm@stthomas.unx.sas.com (Donald T. Major)
  636. Date: 8 Apr 92 22:09:29 GMT
  637. Organization: SAS Institute Inc.
  638.  
  639. How are you allocating the memory?  NewPtr has no such limitation,
  640. unless your heap is incredibly fragmented and uncompactible (for the
  641. amount of RAM you had in your application :-)).  This seems unlikely,
  642. so perhaps you're using malloc() or calloc() (or whichever such
  643. functions are available in the THINK C ANSI library)?
  644.  
  645. - -- 
  646. Donald Major       SAS Institute Inc.  "Cicely, let's fling something!"
  647. sasdtm@unx.sas.com SAS Campus Drive                 - Northern Exposure
  648. (919) 677-8000     Cary, NC 27513-2414
  649.  
  650. +++++++++++++++++++++++++++
  651.  
  652. From: kamprath@caen.engin.umich.edu (Michael Kamprath)
  653. Date: 12 Apr 92 04:30:11 GMT
  654. Organization: The University of Michigan, Ann Arbor
  655.  
  656. In article <1992Apr8.220929.7119@unx.sas.com>, sasdtm@stthomas.unx.sas.com (Donald T. Major) writes:
  657. > How are you allocating the memory?  NewPtr has no such limitation,
  658. > unless your heap is incredibly fragmented and uncompactible (for the
  659. > amount of RAM you had in your application :-)).  This seems unlikely,
  660. > so perhaps you're using malloc() or calloc() (or whichever such
  661. > functions are available in the THINK C ANSI library)?
  662. > -- 
  663. > Donald Major       SAS Institute Inc.  "Cicely, let's fling something!"
  664. > sasdtm@unx.sas.com SAS Campus Drive                 - Northern Exposure
  665. > (919) 677-8000     Cary, NC 27513-2414
  666.  
  667. OK, I found out what was happening.  I was getting pointers limited to 32K
  668. of RAM.  I confused this problem with the limitation of 32K to stack
  669. variables.  What the problem ended up being was that I was using variable
  670. of type (Size) to pass how large I need a block.  (Size) is actually
  671.  a (short int), and (short int) can only go up to 32K.  Once I changed
  672. my variables to (long int), my problem disappear, and my faith in the
  673. Mac as a computational machine was restored.  
  674.  
  675. Michael Kamprath
  676. kamprath@caen.engin.umich.edu
  677.  
  678. +++++++++++++++++++++++++++
  679.  
  680. From: mkahl@world.std.com (Michael Kahl)
  681. Date: 16 Apr 92 02:23:30 GMT
  682. Organization: Enginuity Inc.
  683.  
  684. In article <D88-JWA.92Apr7215744@byse.nada.kth.se> d88-jwa@byse.nada.kth.se (Jon W{tte) writes:
  685. >[...] Think C malloc
  686. >in version 4 takes an int for argument; you lose for > 32k.
  687. >Use calloc instead ! It takes two 16-bit ints, which multiply
  688. >correctly.
  689.  
  690. Not so.  "malloc" takes a "size_t", which is an unsigned long.  "calloc" takes
  691. two "size_t"s.  Thus both routines work with 32-bit ints and allow allocation
  692. of objects exceeding 32K.
  693.  
  694. Even in ThC 4, the libraries were ANSI Standard, even if the compiler itself
  695. didn't become so until version 5.
  696. - -- 
  697. Michael Kahl, Software Architect, Enginuity Inc.
  698. mkahl@world.std.com  -or-  75236.3146@compuserve.com
  699. Disclaimer:  Whoa!  Did I say THAT??!
  700.  
  701. ---------------------------
  702.  
  703. From: wwg2101@zeus.tamu.edu (GILPIN, W.W.)
  704. Subject: I need your opinion
  705. Date: 7 Apr 92 10:03:00 GMT
  706. Organization: Texas A&M University, Academic Computing Services
  707.  
  708.  
  709. I know this probably isn't the best place for this, but so what.
  710.  
  711. I need answers to the following question:
  712.  
  713. If you were to buy a computer today, and had to choose between an IBM/PC
  714. or clone and an Apple Macintosh, which would you choose and why? 
  715.  
  716. Mac and IBM are the only two platforms I'm evaluating in this report, so 
  717. please limit your answers to these two machines.
  718. E-mail only please...I don't want to start a flame war, I want useful opinions.
  719. Thanks for any responses.
  720.  
  721. Wes Gilpin
  722. WWG2101@ZEUS.TAMU.EDU
  723.  
  724. +++++++++++++++++++++++++++
  725.  
  726. From: lil0695@csvaxd.csuohio.edu
  727. Date: 14 Apr 92 20:00:47 -500
  728. Organization: Cleveland State University
  729.  
  730. In article <7APR199205033784@zeus.tamu.edu>, wwg2101@zeus.tamu.edu (GILPIN, W.W.) writes:
  731. > I know this probably isn't the best place for this, but so what.
  732. > I need answers to the following question:
  733. > If you were to buy a computer today, and had to choose between an IBM/PC
  734. > or clone and an Apple Macintosh, which would you choose and why? 
  735. > Mac and IBM are the only two platforms I'm evaluating in this report, so 
  736. > please limit your answers to these two machines.
  737. > E-mail only please...I don't want to start a flame war, I want useful opinions.
  738. > Thanks for any responses.
  739. > Wes Gilpin
  740. > WWG2101@ZEUS.TAMU.EDU
  741.  
  742. Dear Wes,
  743.  
  744.   I would choose a mac because of the user interface (operating system).  It is
  745. easier to use for most people.  Also in IMB land there are many program
  746. interfaces (LIKE lotus versus word perfect), and you need to read the entire
  747. manual to get started.  Not in Mac with te user interface.
  748.  
  749.  
  750. ---------------------------
  751.  
  752. From: time@ice.com (Tim Endres)
  753. Subject: Fancy Your Tickle...
  754. Date: 9 Apr 92 04:07:05 GMT
  755. Organization: ICE Engineering, Inc.
  756.  
  757.  
  758. Tickle 3.1v4 is now available for general consumption.
  759. This new release fixes bugs, adds a couple things, and also
  760. splits the package into several pieces.
  761.  
  762. Where:
  763.  
  764. ftp.msen.com
  765. pub/vendor/ice/tickle/
  766.  
  767.  
  768.  
  769. tim endres - time@ice.com  -or-  uupsi!tbomb!time
  770. ICE Engineering, Inc. - Phone (313) 449 8288 - FAX (313) 449-9208
  771. 8840 Main Street, Whitmore Lake, MI  48189
  772. USENET - a slow moving self parody... ph
  773.  
  774. +++++++++++++++++++++++++++
  775.  
  776. From: bpb9204@tamsun.tamu.edu (Brent)
  777. Date: 9 Apr 92 18:14:20 GMT
  778. Organization: Texas A&M Univ., Inc.
  779.  
  780. time@ice.com (Tim Endres) writes:
  781. |
  782. |Tickle 3.1v4 is now available for general consumption.
  783. | time e.
  784.  
  785. I had the version that was available in March and I have a question.
  786. Is there some variables I need to set with it so that it can find
  787. the scripts.  For example, when I give it some commands that are
  788. documented in the tickle manual, it tells me that that command is
  789. not found.  
  790.  
  791. Sorry this is general, but I'm not at my macintosh to check the settings.
  792.  
  793. I had the PATH variable set to the directories that contain scripts,
  794. but this didn't seem to work (the path was set in the tclrc file, I believe).
  795.  
  796. Any hints are appreciated  and thanks for your work, Tim.
  797.  
  798. - -Brent
  799.  
  800. - -- 
  801. - ------------------------------------------------------------------------------
  802. Brent P. Burton, N5VMG                                    Computer Sci/Physics
  803. bpb9204@tamsun.tamu.edu                                   Texas A&M University
  804. - ------------------------------------------------------------------------------
  805.  
  806. +++++++++++++++++++++++++++
  807.  
  808. From: time@ice.com (Tim Endres)
  809. Date: 10 Apr 92 13:40:35 GMT
  810. Organization: ICE Engineering, Inc.
  811.  
  812.  
  813. In article <12082@tamsun.tamu.edu> (comp.sys.mac.apps), bpb9204@tamsun.tamu.edu (Brent) writes:
  814. > |
  815. > |Tickle 3.1v4 is now available for general consumption.
  816. > | time e.
  817. > I had the version that was available in March and I have a question.
  818. > Is there some variables I need to set with it so that it can find
  819. > the scripts.  For example, when I give it some commands that are
  820. > documented in the tickle manual, it tells me that that command is
  821. > not found.  
  822. > Sorry this is general, but I'm not at my macintosh to check the settings.
  823. > I had the PATH variable set to the directories that contain scripts,
  824. > but this didn't seem to work (the path was set in the tclrc file, I believe).
  825. > Any hints are appreciated  and thanks for your work, Tim.
  826.  
  827. you can get a list of command with:
  828.  
  829.     foreach name [info commands] {puts stdout $name} 
  830.  
  831. Anything not in this list is not available as a command. These commands
  832. are built into tickle and do not need access to any file to be used.
  833.  
  834. As for commands that are defined in scripts, they will not be available
  835. until you "source script.tcl" them...
  836.  
  837. tim.
  838.  
  839.  
  840. tim endres - time@ice.com  -or-  uupsi!tbomb!time
  841. ICE Engineering, Inc. - Phone (313) 449 8288 - FAX (313) 449-9208
  842. 8840 Main Street, Whitmore Lake, MI  48189
  843. USENET - a slow moving self parody... ph
  844.  
  845. ---------------------------
  846.  
  847. From: mithral@wpi.WPI.EDU (Bret Alvin Barker)
  848. Subject: QUESTION-Drawing Pict/Hide MenuBar??
  849. Date: 12 Apr 92 02:40:08 GMT
  850. Organization: Worcester Polytechnic Institute
  851.  
  852.  
  853.        This is probably a very easy question to answer, but how do I read a
  854. PICT resource and display the PICT in the current cgrafport.  Also, how do I
  855. hide the MenuBar?  If anyone could E-mail me a code segment in either Think-C
  856. or Think-Pascal, I would greatly appreciate it. 
  857.  
  858.             --bret a. barker
  859.               mithral@wpi.wpi.edu
  860.  
  861. +++++++++++++++++++++++++++
  862.  
  863. From: zobkiw@world.std.com (Joe Zobkiw)
  864. Date: 13 Apr 92 14:08:43 GMT
  865. Organization: The World Public Access UNIX, Brookline, MA
  866.  
  867. > This is probably a very easy question to answer, but how do I read a
  868. > PICT resource and display the PICT in the current cgrafport.
  869.  
  870. Look into the DrawPicture(thePicture, destRect); routine.
  871. - -- 
  872. <--------------------------------------------------->
  873.  joe zobkiw                     zobkiw@world.std.com
  874.  mac.synthesis.MIDI.development.C.asm.communications
  875. >---------------------------------------------------<
  876.  
  877. ---------------------------
  878.  
  879. From: trimper@edsi.plexus.COM (Greg Trimper)
  880. Subject: GKS for Mac?  C bindings?
  881. Date: 11 Apr 92 22:38:21 GMT
  882. Organization: Enterprise Data Systems Incorporated, Appleton WI
  883.  
  884. does anyone know if GKS is available for the Mac?  If so, where nad
  885. how can I get it?  And does it hopefully have C bindings?
  886.  
  887.  
  888.                     
  889. Greg Trimper   trimper@edsi.plexus.com  
  890.  
  891. +++++++++++++++++++++++++++
  892.  
  893. From: mlanett@void.ncsa.uiuc.edu (Mark Lanett)
  894. Date: 12 Apr 92 05:22:27 GMT
  895. Organization: University of Illinois at Urbana
  896.  
  897. trimper@edsi.plexus.COM (Greg Trimper) writes:
  898.  
  899. >does anyone know if GKS is available for the Mac?  If so, where nad
  900. >how can I get it?  And does it hopefully have C bindings?
  901.  
  902. I doubt it. But there's a successor called SRGP based on both X and
  903. QuickDraw, and available for both machines.  SRGP is described in Foley
  904. and Van Dam; there's some srgp (and sphigs) stuff on wuarchive as
  905. graphics/graphics/srgp.tar.Z (and sphigs.tar.Z).
  906. - -- 
  907. Mark Lanett, Software Tools Group, NCSA           mlanett@uiuc.edu or  NCSA.STG
  908. "People wander in and out of virtual rooms in virtual settings with virtual
  909. characters and virtual money and virtual armor and virtual weapons, which is
  910. virtually a good way to spend time, but not quite." -- Usenet Oracle
  911. - -- 
  912. Mark Lanett, Software Tools Group, NCSA           mlanett@uiuc.edu or  NCSA.STG
  913. "People wander in and out of virtual rooms in virtual settings with virtual
  914. characters and virtual money and virtual armor and virtual weapons, which is
  915. virtually a good way to spend time, but not quite." -- Usenet Oracle
  916.  
  917. ---------------------------
  918.  
  919. From: salaing@eos.ncsu.edu (Scott Laing)
  920. Subject: PATCHING THE FINDER (?)
  921. Date: 12 Apr 92 07:57:53 GMT
  922. Organization: Project EOS - North Carolina State University
  923.  
  924. Hello, I'm trying to modify an INIT I wrote sometime ago so it will patch 
  925. the Finder on start-up, rather than modify the shutdown queue.  All it has
  926. to do is change the routine when "Shutdown" is chosen so that a dialog (of 
  927. my own) is shown before ShutDwnPower is called.
  928.  
  929. Something that does this is Grouch.  It places a menu item to display an 
  930. about box in the Special menu.
  931.  
  932. Does anyone have any example code to do this?  Know where I can find some?
  933.  
  934. Thanks,
  935. Scott
  936. salaing@eos.ncsu.edu
  937.  
  938. +++++++++++++++++++++++++++
  939.  
  940. From: Keith_Rollin@taligent.com (Keith Rollin)
  941. Date: 13 Apr 92 17:59:43 GMT
  942. Organization: Taligent
  943.  
  944. In article <1992Apr12.075753.14311@ncsu.edu>, salaing@eos.ncsu.edu (Scott Laing)
  945. writes:
  946. > Hello, I'm trying to modify an INIT I wrote sometime ago so it will patch 
  947. > the Finder on start-up, rather than modify the shutdown queue.  All it has
  948. > to do is change the routine when "Shutdown" is chosen so that a dialog (of 
  949. > my own) is shown before ShutDwnPower is called.
  950. > Something that does this is Grouch.  It places a menu item to display an 
  951. > about box in the Special menu.
  952. > Does anyone have any example code to do this?  Know where I can find some?
  953.  
  954. I don't have any sample code for you, but I do know that the Grouch patches
  955. MenuSelect to do its stuff. To see how they did it, you can do the same thing I
  956. did: I disassembled the Grouch INIT.
  957.  
  958. - --
  959. Keith Rollin
  960. Phantom Programmer
  961. Taligent, Inc.
  962.  
  963.  
  964. ---------------------------
  965.  
  966. From: cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton)
  967. Subject: d e v e l o p
  968. Date: 14 Apr 1992 15:13:22 GMT
  969. Organization: UTHSCH Academic Computing
  970.  
  971. Has Apple stopped distributing "hardcopy" versions of d e v e l o p to
  972. developers? I can't remember the last time I got one. It's a real pain to 
  973. try and read those things on-line from the CD-ROM....
  974.  
  975. Chuck
  976.  
  977. +++++++++++++++++++++++++++
  978.  
  979. From: trimper@edsi.plexus.COM (Greg Trimper)
  980. Date: 15 Apr 92 00:03:08 GMT
  981. Organization: Enterprise Data Systems Incorporated, Appleton WI
  982.  
  983.  
  984. Is d e v e l o p Issue 10 out?  I ask, as I sent in a renewal slip,
  985. but my VISA was not charged as of last month, I it is spring,
  986. and i don't have an Issue 10...
  987.  
  988.  
  989. Greg Trimper   trimper@edsi.plexus.com  
  990.  
  991. ---------------------------
  992.  
  993. From: potts@itl.itd.umich.edu (Paul Potts)
  994. Subject: Using "OpenStdCompression" with MPW QuickTime headers in THINK C
  995. Date: 14 Apr 92 18:13:00 GMT
  996. Organization: Instructional Technology Laboratory, University of Michigan
  997.  
  998. I got an answer about using "OpenStdCompression" in THINK C. The solution
  999. is to put the call, and the prototype in the header file, into all capitals:
  1000. OPENSTDCOMPRESSION.
  1001.  
  1002. The reasons seems to be that the MPW linker isn't case-sensitive, while 
  1003. the THINK C
  1004. linker is. Therefore the .o library has the glue call listed as
  1005. OPENSTDCOMPRESSION; under MPW it works to call it by OpenStdCompression, but
  1006. not under THINK.
  1007.  
  1008. The OConv utility seems to create a project that can't be opened by THINK C.
  1009. Does anyone know why this is? I get a "ZREF error" - "Please remove objects"
  1010. when I try to open the resulting project file.
  1011. - -- 
  1012. Paul Potts - potts@itl.itd.umich.edu
  1013. Un damne' descendant sans lampe,/ Au bord d'un gouffre dont l'odeur
  1014. Trahit l'humide profondeur,/ D'e'ternels escaliers sans rampe... 
  1015.    -Baudelaire on DOS/Windows programming   
  1016.  
  1017. +++++++++++++++++++++++++++
  1018.  
  1019. From: krk@itl.itd.umich.edu (Kenneth Knight)
  1020. Date: 15 Apr 92 17:13:40 GMT
  1021. Organization: Instructional Technology Laboratory, University of Michigan
  1022.  
  1023. In article <1992Apr14.181300.19306@terminator.cc.umich.edu> potts@itl.itd.umich.edu (Paul Potts) writes:
  1024. >I got an answer about using "OpenStdCompression" in THINK C. The solution
  1025. >is to put the call, and the prototype in the header file, into all capitals:
  1026. >OPENSTDCOMPRESSION.
  1027. >
  1028. >The reasons seems to be that the MPW linker isn't case-sensitive, while 
  1029. >the THINK C
  1030. >linker is. Therefore the .o library has the glue call listed as
  1031. >OPENSTDCOMPRESSION; under MPW it works to call it by OpenStdCompression, but
  1032. >not under THINK.
  1033. >
  1034. >The OConv utility seems to create a project that can't be opened by THINK C.
  1035. >Does anyone know why this is? I get a "ZREF error" - "Please remove objects"
  1036. >when I try to open the resulting project file.
  1037.  
  1038. One other thing that is worth mentioning. It is very important that you
  1039. include the resources for the StdCompression module somewhere in the
  1040. application's resource path. They don't exist in a vacuum and the docs on
  1041. the module don't really mention them. A complete set can be found in the
  1042. .rsrc file that is in the Compression Dialog folder on the QuickTime CD. 
  1043. The resource all have IDs around 32000 and include 2 DLOGs (and their DITLs),
  1044. THING, sodi, STR#, and some others that I can't recall right now.
  1045.  
  1046. If you do not include ALL the resources when you attempt to do the:
  1047.    component_instance (some variable) = OpenStdCompression();
  1048. your variable will always return nil. I have no idea if checking one of the
  1049. error functions would give any more detailed data, but I have my doubts.
  1050.  
  1051. +++++++++++++++++++++++++++
  1052.  
  1053. From: phils@chaos.cs.brandeis.edu (Phil Shapiro)
  1054. Date: 16 Apr 92 14:14:50 GMT
  1055. Organization: Symantec Corp.
  1056.  
  1057. In article <1992Apr14.181300.19306@terminator.cc.umich.edu> potts@itl.itd.umich.edu (Paul Potts) writes:
  1058.  
  1059.    I got an answer about using "OpenStdCompression" in THINK C. The
  1060.    solution is to put the call, and the prototype in the header file,
  1061.    into all capitals: OPENSTDCOMPRESSION.
  1062.  
  1063. A better solution is to create a vocabulary file. This is just a file
  1064. with a list of names of the symbols defined in the .o file. You can
  1065. edit this file to change the all uppercase names to match the names in
  1066. the header files. See the User Manual, p. 275, for more info.
  1067.  
  1068.    The OConv utility seems to create a project that can't be opened by
  1069.    THINK C.  Does anyone know why this is? I get a "ZREF error" -
  1070.    "Please remove objects" when I try to open the resulting project
  1071.    file.
  1072.  
  1073. This is strange. I've converted the libraries before and haven't seen
  1074. this problem; make sure that you're using C 5.0.2. You don't need to
  1075. open up the projects anyway -- you should just use them as libraries,
  1076. as you'd use the MacTraps project.
  1077.  
  1078.     -phil
  1079. - --
  1080.    Phil Shapiro                                   Software Engineer
  1081.    Language Products Group                     Symantec Corporation
  1082.            Internet: phils@cs.brandeis.edu
  1083.  
  1084. ---------------------------
  1085.  
  1086. End of C.S.M.P. Digest
  1087. **********************
  1088.